﻿using System;
using System.Collections.Generic;

using System.Text;
using System.Data;

namespace Core
{
    public abstract class DataProvider
    {
        private static DataProvider _Instance = null;
        public static DataProvider Instance
        {
            get
            {
                if (_Instance == null)
                    _Instance = new SqlDataProvider("ConnectionString");
                return _Instance;
            }
        }
        public abstract object ExecuteNonqueryWithOutput(string outPutParam, string spName, params object[] parameterValues);
        public abstract int ExecuteNonquery(string spName, params object[] parameterValues);
        public abstract DataSet ExecuteDataSet(string spName, params object[] parameterValues);
        public abstract IDataReader ExecuteReader(string spName, params object[] parameterValues);
        public abstract object ExecuteScalar(string spName, params object[] parameterValuses);

    }
}
